package com.lihaozhe.util.token;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.time.LocalDateTime;

/**
 * @author 李昊哲
 * @version 1.0.0
 * 2021/12/16 12:09
 */
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class CodeInSession {
    /**
     * 验证码
     */
    private String code;
    /**
     * 过期时间
     */
    private LocalDateTime expirTime;

    /**
     * 验证码有效期
     * @param code 验证码
     * @param expirTime 过期时间 单位秒
     */
    public CodeInSession(String code,Long expirTime) {
        this(code,LocalDateTime.now().plusSeconds(expirTime));
    }

    public String getCode() {
        if (isExpired()){
            return null;
        }
        return code;
    }

    /**
     * 验证码是否过期
     * @return true验证码过期 false验证码未过期
     */
    public boolean isExpired(){
        // 如果当前时间在过期之间之后则说明验证码失效
        return LocalDateTime.now().isAfter(expirTime);
    }
}